package cn.ffcs.uec.staffAndOutStaff.vo;

import java.util.List;

import cn.ffcs.uec.common.vo.UecBdDefdoc;
import cn.ffcs.uec.common.vo.UecBdPsncl;
import cn.ffcs.uom.common.util.StrUtil;
import lombok.Getter;
import lombok.Setter;

/**
 * @Title:合同制人员与外包人员类：人员花名册
 * @Description:将合同制uec_staff_info表与外包uec_out_staff_info表合在一起
 * @author Wang Yiren
 * @版权 FFCS（C） 2018
 * @date 2018年9月10日
 */
public class StaffAndOutStaff implements Comparable<StaffAndOutStaff>{
	/**
	 * 省内主键
	 */
	@Getter
	@Setter
	private String staffId;
	/**
	 * 集团主键
	 */
	@Getter
	@Setter
	private String pkPsndoc;
	/**
	 * 人员类型
	 */
	@Getter
	@Setter
	private String staffcatogery;
	/**
	 * 人员编码
	 */
	@Getter
	@Setter
	private String staffCode;
	/**
	 * 人员姓名
	 */
	@Getter
	@Setter
	private String staffName;
	/**
	 * 身份证
	 */
	@Getter
	@Setter
	private String staffNum;
	/**
	 * 年龄
	 */
	@Getter
	@Setter
	private String staffAge;
	/**
	 * 办公电话
	 */
	@Getter
	@Setter
	private String officephone;
	/**
	 * 参加段团日期
	 */
	@Getter
	@Setter
	private String partydate;
	/**
	 * 婚姻状况
	 */
	@Getter
	@Setter
	private String staffMarital;
	/**
	 * 出生地
	 */
	@Getter
	@Setter
	private String birthplace;
	/**
	 * 籍贯
	 */
	@Getter
	@Setter
	private String nativeplace;
	/**
	 * 岗位序列
	 */
	@Getter
	@Setter
	private String postseries;
	/**
	 * 紧急联系人
	 */
	@Getter
	@Setter
	private String urgentman;
	/**
	 * 紧急联系人电话
	 */
	@Getter
	@Setter
	private String urgentmanphone;
	/**
	 * 年龄分段
	 */
	@Getter
	@Setter
	private String staffDiff;
	/**
	 * 性别
	 */
	@Getter
	@Setter
	private String staffSex;
	/**
	 * 手机号
	 */
	@Getter
	@Setter
	private String staffMobile;
	/**
	 * 上级组织
	 */
	@Getter
	@Setter
	private String fatherOrg;
	/**
	 * 组织主键
	 */
	@Getter
	@Setter
	private String pkOrg;
	/**
	 * 组织编码
	 */
	@Getter
	@Setter
	private String orgCode;
	/**
	 * 组织名称
	 */
	@Getter
	@Setter
	private String orgName;
	/**
	 * 部门主键
	 */
	@Getter
	@Setter
	private String pkDept;
	/**
	 * 部门编码
	 */
	@Getter
	@Setter
	private String deptCode;
	/**
	 * 部门名称
	 */
	@Getter
	@Setter
	private String deptName;
	
	/**
	 * 人员类别
	 */
	@Getter
	@Setter
	private String staffType;
	/**
	 * 岗位
	 */
	@Getter
	@Setter
	private String staffPostName;
	/**
	 * 岗位层级
	 */
	@Getter
	@Setter
	private String postLevel;
	/**
	 * 岗位等级
	 */
	@Getter
	@Setter
	private String postGrade;
	/**
	 * 出生日期
	 */
	@Getter
	@Setter
	private String staffBirth;
	/**
	 * 参加工作日期
	 */
	@Getter
	@Setter
	private String staffJoinWorkDate;
	/**
	 * 民族
	 */
	@Getter
	@Setter
	private String staffNation;
	/**
	 * 政治面貌
	 */
	@Getter
	@Setter
	private String staffPolity;
	/**
	 * 电子邮箱
	 */
	@Getter
	@Setter
	private String staffEmail;
	/**
	 * 职务名称
	 */
	@Getter
	@Setter
	private String jobGlbdef4;
	
	/**
	 * 现职时间
	 */
	@Getter
	@Setter
	private String jobGlbdef14;
	
	/**
	 * 任职结束日期 -- 截止日期
	 */
	@Getter
    @Setter
	private String endJobDate;
	
	/**
	 * 任现岗级时间
	 */
	@Getter
	@Setter
	private String jobGlbdef8;
	/**
	 * 进入电信时间
	 */
	@Getter
	@Setter
	private String glbdef3;
	/**
	 * 最高学历
	 */
	@Getter
	@Setter
	private String bestEducation;
	/**
	 * 最高学位
	 */
	@Getter
	@Setter
	private String bestGrade;
	/**
	 * 毕业日期
	 */
	@Getter
	@Setter
	private String endDate;
	/**
	 * 毕业院校
	 */
	@Getter
	@Setter
	private String school;
	/**
	 * 专业
	 */
	@Getter
	@Setter
	private String major;
	
	@Getter
    @Setter
	private List<UecBdDefdoc> newPostGradeList;
	
	@Getter
    @Setter
    private List<UecBdDefdoc> oldPostGradeList;
	
	@Getter
	@Setter
	private List<UecBdPsncl> UecBdPsnclList;
	
	@Getter
    @Setter
	private List<UecBdDefdoc> postGradeList;
	
	

	
	public StaffAndOutStaff() {
		super();
	}

	@Override
	public int compareTo(StaffAndOutStaff o) {
		if (!StrUtil.isEmpty(this.getStaffName())) {
			if (this.getStaffName().trim().length() > o.getStaffName().trim().length()) {
				return 1;
			} else if (this.getStaffName().trim().length() < o.getStaffName().trim().length()) {
				return -1;
			} else {
				return 0;
			}
		}
		return 0;
	}
}
